package common.code;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Base64Util {
	/**
	 * 将图片文件转化为字节数组字符串，并对其进行Base64编码处理
	 * @return
	 */
	public static String getImageStr(byte[] data) {
		String returnMessage = null;
		//对字节数组Base64编码
		BASE64Encoder encoder = new BASE64Encoder();
		//返回Base64编码过的字节数组字符串
		returnMessage = encoder.encode(data);
		return returnMessage;
	}

	/**
	 * 对字节数组字符串进行Base64解码并生成图片
	 * @param imgStr
	 * @return
	 */
	public static byte[] generateImage(String imgStr) {
		byte[] b = null;
		if(imgStr != null && imgStr.length() > 0){
			BASE64Decoder decoder = new BASE64Decoder();
			try {
				b = decoder.decodeBuffer(imgStr);//Base64解码
				for (int i = 0; i < b.length; ++i) {
					//调整异常数据
					if (b[i] < 0) {
						b[i] += 256;
					}
				}
			} catch (Exception e){
				e.printStackTrace();
			}
		}
		return b;
	}
}